← Index
NYTProf Performance Profile   
For starman worker -M FindBin --max-requests 50 --workers 2 --user=kohadev-koha --group kohadev-koha --pid /var/run/koha/kohadev/plack.pid --daemonize --access-log /var/log/koha/kohadev/plack.log --error-log /var/log/koha/kohadev/plack-error.log -E deployment --socket /var/run/koha/kohadev/plack.sock /etc/koha/sites/kohadev/plack.psgi
  Run on Fri Jan 8 14:31:06 2016
Reported on Fri Jan 8 14:33:30 2016

Filename(eval 1109)[/usr/share/perl5/Sub/Quote.pm:5]
StatementsExecuted 2465 statements in 2.86ms
Eval Invoked At/usr/share/perl5/Sub/Quote.pm line 5
Sibling evals1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
3192211.0ms13.0msDBIx::Class::Storage::BlockRunner::::newDBIx::Class::Storage::BlockRunner::new
11182µs82µsMethod::Generate::Constructor::::BEGIN@10.2966 Method::Generate::Constructor::BEGIN@10.2966
11118µs36µsSub::Quote::::BEGIN@4.2965 Sub::Quote::BEGIN@4.2965
1117µs7µsDBIx::Class::Storage::BlockRunner::::BEGIN@74DBIx::Class::Storage::BlockRunner::BEGIN@74
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1{
2 my $_UNQUOTED = ${$_[1]->{"\$_UNQUOTED"}};
3 my $_QUOTED = ${$_[1]->{"\$_QUOTED"}};
4255µs
# spent 36µs (18+18) within Sub::Quote::BEGIN@4.2965 which was called: # once (18µs+18µs) by Sub::Quote::_clean_eval at line 4
no warnings 'closure';
# spent 36µs making 1 call to Sub::Quote::BEGIN@4.2965 # spent 18µs making 1 call to warnings::unimport
5
# spent 13.0ms (11.0+1.91) within DBIx::Class::Storage::BlockRunner::new which was called 319 times, avg 41µs/call: # 318 times (11.0ms+1.91ms) by DBIx::Class::Storage::DBI::dbh_do at line 855 of DBIx/Class/Storage/DBI.pm, avg 41µs/call # once (31µs+1µs) by DBIx::Class::Storage::DBI::dbh_do at line 56 of Sub/Defer.pm
sub DBIx::Class::Storage::BlockRunner::new {
6 $_QUOTED if 0;
78516µs $_UNQUOTED if 0;
8# BEGIN quote_sub PRELUDE
9package Method::Generate::Constructor;
10
# spent 82µs within Method::Generate::Constructor::BEGIN@10.2966 which was called: # once (82µs+0s) by Sub::Quote::_clean_eval at line 15
BEGIN {
11 $^H = "2018";
12 ${^WARNING_BITS} = "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377";
13 %^H = (
14 );
15182µs}
# spent 82µs making 1 call to Method::Generate::Constructor::BEGIN@10.2966
16# END quote_sub PRELUDE
178543µs my $class = shift;
188524µs $class = ref($class) if ref($class);
198548µs if ($class ne "DBIx::Class::Storage::BlockRunner") {
20 if ($Moo::MAKERS{$class}) {
21 if ($Moo::MAKERS{$class}{constructor}) {
22 return $class->DBIx::Class::Storage::BlockRunner::SUPER::new(@_);
23 }
24 Moo->_constructor_maker_for($class);
25 return $class->new(@_);
26 } elsif ($INC{"Moose.pm"} and my $meta = Class::MOP::get_metaclass_by_name($class)) {
27 return $meta->new_object(
28 $class->can("BUILDARGS") ? $class->BUILDARGS(@_)
29 : $class->Moo::Object::BUILDARGS(@_)
30 );
31 }
32 }
338535µs my $args;
3485168µs if ( scalar @_ == 1 ) {
35 unless ( defined $_[0] && ref $_[0] eq 'HASH' ) {
36 die "Single parameters to new() must be a HASH ref"
37 ." data => ". $_[0] ."\n";
38 }
39 $args = { %{ $_[0] } };
40 }
41 elsif ( @_ % 2 ) {
42 die "The new() method for $class expects a hash reference or a"
43 . " key/value list. You passed an odd number of arguments\n";
44 }
45 else {
4685188µs $args = {@_};
47 }
4885224µs if (my @missing = grep !exists $args->{$_}, qw(retry_handler storage wrap_txn)) {
49 die "Missing required arguments: ".join(', ', sort @missing);
50 }
5185265µs my $new = bless({}, $class);;
5285117µs $new->{"max_attempts"} = (
53 exists $args->{"max_attempts"}
54 ? $args->{"max_attempts"}
55 : "20"
56 );
578540µs if (exists $args->{"retry_debug"}) {
58 $new->{"retry_debug"} = $args->{"retry_debug"};
59 }
608574µs if (exists $args->{"retry_handler"}) {
618523µs do {
6285200µs local $Method::Generate::Accessor::CurrentAttribute = {
63 init_arg => "retry_handler",
64 name => "retry_handler",
65 step => "isa check",
66 };
678515µs my $_error;
68 {
6917057µs my $_old_error = $@;
708586µs if (!eval {
718520µs $@ = $_old_error;
72170138µs do { local @_ = ($args->{"retry_handler"}); # BEGIN quote_sub PRELUDE
73package DBIx::Class::Storage::BlockRunner;
74
# spent 7µs within DBIx::Class::Storage::BlockRunner::BEGIN@74 which was called: # once (7µs+0s) by Sub::Quote::_clean_eval at line 79
BEGIN {
75 $^H = "133090";
76 ${^WARNING_BITS} = "UUUUUUUUUUUUUUUUU";
77 %^H = (
78 );
7917µs}
# spent 7µs making 1 call to DBIx::Class::Storage::BlockRunner::BEGIN@74
80# END quote_sub PRELUDE
81
8285446µs318361µs (Scalar::Util::reftype($_[0])||'') eq 'CODE'
# spent 361µs making 318 calls to Scalar::Util::reftype, avg 1µs/call
83 or DBIx::Class::Exception->throw('retry_handler must be a CODE reference')
84 };
858546µs 1;
86 }) {
87 $_error = $@;
88 if (!ref $_error) {
89 $_error = "isa check for \"retry_handler\" failed: ".$_error;
90 }
91 }
928538µs $@ = $_old_error;
93 }
948568µs die $_error if $_error;
95}
96;
978568µs $new->{"retry_handler"} = $args->{"retry_handler"};
98 }
998584µs if (exists $args->{"storage"}) {
100 $new->{"storage"} = $args->{"storage"};
101 }
1028554µs if (exists $args->{"wrap_txn"}) {
103 $new->{"wrap_txn"} = $args->{"wrap_txn"};
104 }
10585278µs return $new;
106 }
107 $$_UNQUOTED = \&DBIx::Class::Storage::BlockRunner::new
108}
1091;
110
111;